/* Copyright (c) 2025 Beijing Semidrive Technology Corporation
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * @file  Dpe_PBCfg.c
 * @brief Semidrive. AUTOSAR 4.3.1 MCAL Can Driver.
 * @date 2025-03-12 14:05:51
 */

#ifdef __cplusplus
extern "C" {
#endif
#include "Dpe_Cfg.h"
#include "Dpe.h"
#include "Std_Types.h"
/*PRQA S 1751,0914  EOF*/
#define DPE_START_SEC_VAR_NO_INIT_UNSPECIFIED
#include "Dpe_MemMap.h"
uint8 Dpe_Canfd3Buffer[5120] __attribute__((aligned(8)));
uint8 Dpe_Canfd5Buffer[5120] __attribute__((aligned(8)));
#define DPE_STOP_SEC_VAR_NO_INIT_UNSPECIFIED
#include "Dpe_MemMap.h"

#define DPE_START_SEC_CONST_UNSPECIFIED
#include "Dpe_MemMap.h"

const uint64 Dpe_RouteIndexTable[] __attribute__((aligned(8))) = {
    0x0000000104440000,
};

const uint64 Dpe_RouteContextTable[] __attribute__((aligned(DPE_CONFIG_ARCH_CACHE_LINE))) = {
    0x0000000401040000,
};

const uint32 Dpe_CanBufferBaseConfig[16] =
{
    0,
    0,
    (uint32)Dpe_Canfd3Buffer,
    0,
    (uint32)Dpe_Canfd5Buffer,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
};

const Dpe_SubQueueTinyConfigType Dpe_SubQueue4TinyConfig[] =
{
    {
        0,
        DPE_SUBQUEUE_ARBIT_FIFO,
        false,
    },
    {
        2,
        DPE_SUBQUEUE_ARBIT_FIFO,
        false,
    },
    {
        7,
        DPE_SUBQUEUE_ARBIT_FIFO,
        false,
    },
};

const Dpe_QueueConfigType Dpe_QueueConfig[] =
{
    {
        4,
        FALSE,
        Dpe_SubQueue4TinyConfig,
        3,
    },
};

const Dpe_RouteConfigType Dpe_RouteConfig =
{
    (uint32 *)Dpe_RouteIndexTable,
    1*8,
    (uint32 *)Dpe_RouteContextTable,
    1*8,
};

const Dpe_PfcTinyConfigType Dpe_PfcTinyConfig[] =
{
};

const Dpe_MirrorBusConfigType Dpe_MirrorBusConfig =
{

};

const Dpe_PfcConfigType Dpe_PfcConfig =
{
    Dpe_PfcTinyConfig,
    0,
    NULL_PTR,
    NULL_PTR,
    NULL_PTR,
};

const Dpe_ConfigType Dpe_Config =
{
    0xF8020000,
    DPE_USED_CANFD_MASK,
    Dpe_CanBufferBaseConfig,
    &Dpe_RouteConfig,
    Dpe_QueueConfig,
    DPE_USED_TXQUEUE_NUM,
    &Dpe_PfcConfig,
};

#define DPE_STOP_SEC_CONST_UNSPECIFIED
#include "Dpe_MemMap.h"

#ifdef __cplusplus
}
#endif
